package com.klun.designMode.composite.modeOne;

/**
 * Leaf（叶子构件）：它在组合结构中表示叶子节点对象，叶子节点没有子节点，
 * 它实现了在抽象构件中定义的行为。对于那些访问及管理子构件的方法，可以通过异常等方式进行处理
 */
public class Leaf extends Component {

    public Leaf(String name) {
        super(name);
    }

    public void add(Component c) {
        //异常处理或错误提示
		System.out.println("add：不能向一个 容器 节点添加一个 叶子");
	}

    public void remove(Component c) {
        //异常处理或错误提示
		System.out.println("remove：不能先从叶子节点移除一个容器");
	}

    public Component getChild(int i) {
        //异常处理或错误提示
		System.out.println("getChild:叶子节点没有子节点");
		return null;
    }

    public void operation() {
        //叶子构件具体业务方法的实现
		String name  = this.name;
		System.out.println("当前叶子的名字:*&*&"+name);
	}
}
